/**
 * 更新提示框可见性
 * @param {string} value - 可见性值，'true'表示显示
 * @param {Object} currentOptions - 当前图表配置选项
 * @returns {Object} 更新后的图表配置选项
 */
function updateTooltipVisibility(value, currentOptions) {
    const show = value === 'true';
    if (currentOptions.tooltip) {
        currentOptions.tooltip.show = show;
    } else {
        currentOptions.tooltip = { show };
    }
    return currentOptions;
}

/**
 * 更新提示框触发方式
 * @param {string} value - 触发方式（如'item'、'axis'等）
 * @param {Object} currentOptions - 当前图表配置选项
 * @returns {Object} 更新后的图表配置选项
 */
function updateTooltipTrigger(value, currentOptions) {
    if (!currentOptions.tooltip) {
        currentOptions.tooltip = { show: true };
    }
    currentOptions.tooltip.trigger = value;
    return currentOptions;
}

/**
 * 更新提示框坐标轴指示器类型
 * @param {string} value - 指示器类型（如'line'、'shadow'等）
 * @param {Object} currentOptions - 当前图表配置选项
 * @returns {Object} 更新后的图表配置选项
 */
function updateTooltipAxisPointerType(value, currentOptions) {
    if (!currentOptions.tooltip) {
        currentOptions.tooltip = { show: true };
    }
    currentOptions.tooltip.axisPointer = currentOptions.tooltip.axisPointer || {};
    currentOptions.tooltip.axisPointer.type = value;
    return currentOptions;
}

/**
 * 更新提示框坐标轴指示器是否自动吸附到点
 * @param {string} value - 是否自动吸附，'true'表示是
 * @param {Object} currentOptions - 当前图表配置选项
 * @returns {Object} 更新后的图表配置选项
 */
function updateTooltipAxisPointerSnap(value, currentOptions) {
    if (!currentOptions.tooltip) {
        currentOptions.tooltip = { show: true };
    }
    currentOptions.tooltip.axisPointer = currentOptions.tooltip.axisPointer || {};
    currentOptions.tooltip.axisPointer.snap = value === 'true';
    return currentOptions;
}

/**
 * 更新提示框坐标轴指示器标签可见性
 * @param {string} value - 可见性值，'true'表示显示
 * @param {Object} currentOptions - 当前图表配置选项
 * @returns {Object} 更新后的图表配置选项
 */
function updateTooltipAxisPointerLabelVisibility(value, currentOptions) {
    if (!currentOptions.tooltip) {
        currentOptions.tooltip = { show: true };
    }
    currentOptions.tooltip.axisPointer = currentOptions.tooltip.axisPointer || {};
    currentOptions.tooltip.axisPointer.label = currentOptions.tooltip.axisPointer.label || {};
    currentOptions.tooltip.axisPointer.label.show = value === 'true';
    return currentOptions;
}

/**
 * 更新提示框坐标轴指示器标签颜色
 * @param {string} value - 颜色值
 * @param {Object} currentOptions - 当前图表配置选项
 * @returns {Object} 更新后的图表配置选项
 */
function updateTooltipAxisPointerLabelColor(value, currentOptions) {
    if (!currentOptions.tooltip) {
        currentOptions.tooltip = { show: true };
    }
    currentOptions.tooltip.axisPointer = currentOptions.tooltip.axisPointer || {};
    currentOptions.tooltip.axisPointer.label = currentOptions.tooltip.axisPointer.label || {};
    currentOptions.tooltip.axisPointer.label.color = value;
    return currentOptions;
}

/**
 * 更新提示框坐标轴指示器标签字体大小
 * @param {*} value - 字体大小值
 * @param {Object} currentOptions - 当前图表配置选项
 * @returns {Object} 更新后的图表配置选项
 */
function updateTooltipAxisPointerLabelFontSize(value, currentOptions) {
    if (!currentOptions.tooltip) {
        currentOptions.tooltip = { show: true };
    }
    currentOptions.tooltip.axisPointer = currentOptions.tooltip.axisPointer || {};
    currentOptions.tooltip.axisPointer.label = currentOptions.tooltip.axisPointer.label || {};
    currentOptions.tooltip.axisPointer.label.fontSize = value;
    return currentOptions;
}

/**
 * 更新提示框坐标轴坐标轴指示器标签字体粗细
 * @param {string} value - 字体粗细值
 * @param {Object} currentOptions - 当前图表配置选项
 * @returns {Object} 更新后的图表配置选项
 */
function updateTooltipAxisPointerLabelFontWeight(value, currentOptions) {
    if (!currentOptions.tooltip) {
        currentOptions.tooltip = { show: true };
    }
    currentOptions.tooltip.axisPointer = currentOptions.tooltip.axisPointer || {};
    currentOptions.tooltip.axisPointer.label = currentOptions.tooltip.axisPointer.label || {};
    currentOptions.tooltip.axisPointer.label.fontWeight = value;
    return currentOptions;
}

/**
 * 更新提示框坐标轴指示器标签字体样式
 * @param {string} value - 字体样式（如'normal'、'italic'等）
 * @param {Object} currentOptions - 当前图表配置选项
 * @returns {Object} 更新后的图表配置选项
 */
function updateTooltipAxisPointerLabelFontStyle(value, currentOptions) {
    if (!currentOptions.tooltip) {
        currentOptions.tooltip = { show: true };
    }
    currentOptions.tooltip.axisPointer = currentOptions.tooltip.axisPointer || {};
    currentOptions.tooltip.axisPointer.label = currentOptions.tooltip.axisPointer.label || {};
    currentOptions.tooltip.axisPointer.label.fontStyle = value;
    return currentOptions;
}

/**
 * 更新提示框坐标轴指示器线条颜色
 * @param {string} value - 颜色值
 * @param {Object} currentOptions - 当前图表配置选项
 * @returns {Object} 更新后的图表配置选项
 */
function updateTooltipAxisPointerLineStyleColor(value, currentOptions) {
    if (!currentOptions.tooltip) {
        currentOptions.tooltip = { show: true };
    }
    currentOptions.tooltip.axisPointer = currentOptions.tooltip.axisPointer || {};
    currentOptions.tooltip.axisPointer.lineStyle = currentOptions.tooltip.axisPointer.lineStyle || {};
    currentOptions.tooltip.axisPointer.lineStyle.color = value;
    return currentOptions;
}

/**
 * 更新提示框坐标轴指示器线条宽度
 * @param {*} value - 线条宽度值
 * @param {Object} currentOptions - 当前图表配置选项
 * @returns {Object} 更新后的图表配置选项
 */
function updateTooltipAxisPointerLineStyleWidth(value, currentOptions) {
    if (!currentOptions.tooltip) {
        currentOptions.tooltip = { show: true };
    }
    currentOptions.tooltip.axisPointer = currentOptions.tooltip.axisPointer || {};
    currentOptions.tooltip.axisPointer.lineStyle = currentOptions.tooltip.axisPointer.lineStyle || {};
    currentOptions.tooltip.axisPointer.lineStyle.width = value;
    return currentOptions;
}

/**
 * 更新提示框内容格式化器
 * @param {string} value - 格式化字符串
 * @param {Object} currentOptions - 当前图表配置选项
 * @returns {Object} 更新后的图表配置选项
 */
function updateTooltipFormatter(value, currentOptions) {
    if (!currentOptions.tooltip) {
        currentOptions.tooltip = { show: true };
    }
    currentOptions.tooltip.formatter = value || '{b}: {c}';
    return currentOptions;
}

/**
 * 更新提示框背景颜色
 * @param {string} value - 颜色值
 * @param {Object} currentOptions - 当前图表配置选项
 * @returns {Object} 更新后的图表配置选项
 */
function updateTooltipBackgroundColor(value, currentOptions) {
    if (!currentOptions.tooltip) {
        currentOptions.tooltip = { show: true };
    }
    currentOptions.tooltip.backgroundColor = value;
    return currentOptions;
}

/**
 * 更新提示框边框颜色
 * @param {string} value - 颜色值
 * @param {Object} currentOptions - 当前图表配置选项
 * @returns {Object} 更新后的图表配置选项
 */
function updateTooltipBorderColor(value, currentOptions) {
    if (!currentOptions.tooltip) {
        currentOptions.tooltip = { show: true };
    }
    currentOptions.tooltip.borderColor = value;
    return currentOptions;
}

/**
 * 更新提示框边框宽度
 * @param {*} value - 边框宽度值
 * @param {Object} currentOptions - 当前图表配置选项
 * @returns {Object} 更新后的图表配置选项
 */
function updateTooltipBorderWidth(value, currentOptions) {
    if (!currentOptions.tooltip) {
        currentOptions.tooltip = { show: true };
    }
    currentOptions.tooltip.borderWidth = value;
    return currentOptions;
}

/**
 * 更新提示框内边距
 * @param {*} value - 内边距值
 * @param {Object} currentOptions - 当前图表配置选项
 * @returns {Object} 更新后的图表配置选项
 */
function updateTooltipPadding(value, currentOptions) {
    if (!currentOptions.tooltip) {
        currentOptions.tooltip = { show: true };
    }
    currentOptions.tooltip.padding = value;
    return currentOptions;
}
